var buttonActiv = false;
var spielleiter = false;
var socket;
var inputName;
var flag;
function login()
{
	/***********************************************************
	*          			  Katalog laden (Ajax)				   *
	***********************************************************/
	if(request != null){
		request.onreadystatechange = catalogEmpfangen;
		request.open("get", "Katalog", false);
		request.send(null);
	}else{
		alert("Kann nicht XMLHTTP-Instanz erzuegen");
	}
	
	/***********************************************************
	*          		Highscore vorbereitung					   *
	***********************************************************/
	var highscoreSection = document.getElementById("highscore");
	inputName = document.getElementById("inputname").value;
	var keineSpieler = document.getElementById("keineSpieler");
	highscoreSection.removeChild(keineSpieler);
	
	/***********************************************************
	*          		ServerSendEvents Highscore				   *
	***********************************************************/

	var source = new EventSource('Login?name=' + inputName);
	source.addEventListener('PlayerChange', spielerHinzufuegen, false);
	source.addEventListener('SpielleiterSetzen', spielleiterSetzen, false);
	source.addEventListener('Error', error, false);
	
	
	/***********************************************************
	*          		Spielfenster vorbereitung				   *
	***********************************************************/
	var spielfenster = document.getElementById("hauptansicht");
	spielfenster.removeChild(document.getElementById("username"));
	spielfenster.removeChild(document.getElementById("inputname"));
	spielfenster.removeChild(document.getElementsByClassName("Button")[0]);
	

	/************************************************************
	 * Websocket												*
	 ************************************************************/
	flag = false;
//	var url = 'ws://localhost:8080/Web-Quiz-Server/webprog/WebSocket';
	var url = 'ws://pluto:8181/~webprog04/tomcat/webprog/WebSocket';
//	var url = 'ws:../webprog/WebSocket';
	console.log("url: " + url);
	socket = new WebSocket(url);
	socket.onclose = close;
	socket.onopen = open;
	socket.onerror = error;
	socket.onmessage = empfangeDaten;
}

function open(){
	console.log("Websocket open");
	flag = true;
}
function close(){
	flag = false;
	console.log("Websocket close");
}

function error(){
//	alert("Fehler im Websocket");
}
function spielerHinzufuegen(event) {

	var daten = event.data.split("\n");
	console.log("Highscore aktualisieren");
    var highscoreSection = document.getElementById("highscore");
    var abox = document.getElementsByClassName("spieler");
    var anzahl = abox.length;
    
    if(abox[0] != null)
	{
    	console.log(abox.length);
    	
	    for (var i=0; i < anzahl; i++)
		{
	    	console.log(abox[0].text);
	    	highscoreSection.removeChild(abox[0]);
		}
	}
    
    for (var i=0; i < daten.length-2; i=i+3)
	{
		var name = document.createTextNode(daten[i]); 
		var abox = document.createElement("a");
		abox.setAttribute("class", "spieler");
		
		if(daten[i+2] == 0) //wenn Spielleiter
		{
			abox.setAttribute("style", "text-decoration: underline;");
		}
		
		if(inputName == daten[i])//wenns der eigene Name ist
		{
			if(daten[i+2] == 0)
			{
				abox.setAttribute("style", "text-decoration: underline; Color:#ffff00;");
			}else
			{
				abox.setAttribute("style", "Color:#ffff00;");
			}
		}
		var span = document.createElement("span");
		var br = document.createElement("br");
		span.appendChild(document.createTextNode(daten[i+1]));
		abox.appendChild(name);
		abox.appendChild(span);
		abox.appendChild(br);
		highscoreSection.appendChild(abox);
	}
};

function spielleiterSetzen(event)
{
	spielleiter = true;
	var spielfenster = document.getElementById("hauptansicht");
	var aButton = document.createElement("a");
	var buttonText = document.createTextNode("Spiel starten");
	aButton.setAttribute("href", "#");
	aButton.setAttribute("class", "Button");
	aButton.appendChild(buttonText);
	spielfenster.appendChild(aButton);
	aButton.addEventListener("click",spielStart,false);
	
}

function spielleiterZurucksetzen(){
	console.log(unescape("Spielleiter Zur%FCcksetzen"));
	buttonActiv = true;
	spielleiter = true;
}

function spielStart(){
		if(buttonActiv == true){
			var senden = "1" + ausgewaelt;
			console.log("#Katalog# " + senden);
			socket.send(senden);
		}else{
			alert(unescape("Zuerst Katalog ausw%E4hlen"));
		}
}

function error(event)
{
	alert(event.data);
	window.location.reload();
}